package com.langChain4j.modelManagement.dto;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 模型接入配置数据传输对象
 *
 * @author linjun
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ModelAccessConfigDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 模型名称，如Ollama、Qwen3
     */
    @NotBlank(message = "模型名称不能为空")
    private String modelName;

    /**
     * 模型类型，如LLM、RAG等
     */
    @NotBlank(message = "模型类型不能为空")
    private String modelType;

    /**
     * 模型参数配置JSON字符串
     */
    private String configJson;

    /**
     * 是否启用，1启用，0禁用
     */
    @NotNull(message = "是否启用状态不能为空")
    private Integer isActive = 1;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
}